#ifndef  __Vector__
#define __Vector__
#include <string.h>
#include <iostream>
#include <memory>
using std::copy;

template<typename T>
class Vector{
private:
    static std::allocator<T> _alloc; 
    T *start;
    T *finish;
    T *end_of_storage;

    void reallocate();//重新分配内存,动态扩容要用的 

public:
    Vector();
    ~Vector();
    void push_back(const T &ch); 
    void pop_back(); 
    size_t size() const;
    size_t capacity()const;

    T &operator[](const size_t index);
    const T &operator[](size_t index) const;

};
template<typename T>
std::allocator<T> Vector<T>::_alloc;

#include "Vector.cc"
#endif

